DynamoDB টেবিলের মধ্যে ডেটা কোয়েরি এবং পারফরম্যান্স অপটিমাইজ করতে Indexes ব্যবহার করা হয়। দুটি প্রধান ধরনের ইন্ডেক্স হল Global Secondary Index (GSI) এবং Local Secondary Index (LSI)। এই দুটি ইন্ডেক্সই ডেটা কুইরির কার্যকারিতা উন্নত করতে সাহায্য করে, কিন্তু তাদের মধ্যে কিছু মৌলিক পার্থক্য রয়েছে যা তাদের ব্যবহারের উপযুক্ততা নির্ধারণ করে।
GSI হল একটি ইন্ডেক্স যা মূল টেবিলের Primary Key (Partition Key এবং Sort Key) থেকে আলাদা নতুন Partition Key এবং Sort Key ব্যবহার করে। GSI ব্যবহার করার মাধ্যমে আপনি নতুন বা আলাদা কুয়েরি প্যাটার্ন তৈরি করতে পারেন যা প্রাথমিক টেবিলের পারফরম্যান্সে কোনও প্রভাব ফেলে না।
ধরা যাক আপনার টেবিলের Partition Key হল UserID
এবং Sort Key হল Timestamp
। এখন আপনি যদি শুধুমাত্র Status
বা অন্য কোনও অ্যাট্রিবিউটের ভিত্তিতে কোয়েরি করতে চান, তাহলে GSI তৈরি করতে পারেন যেখানে Partition Key হল Status
এবং Sort Key Timestamp
।
LSI হল এমন একটি ইন্ডেক্স যা টেবিলের মূল Partition Key কে অপরিবর্তিত রেখে, নতুন Sort Key ব্যবহার করে তৈরি হয়। অর্থাৎ, LSI মূল টেবিলের Partition Key এর সাথে সম্পর্কিত কিন্তু Sort Key আলাদা করে কনফিগার করা হয়। এতে শুধুমাত্র একটি Partition Key এবং Sort Key থাকা ইন্ডেক্স তৈরি হয়।
ধরা যাক আপনার টেবিলের Partition Key হল UserID
এবং Sort Key হল Timestamp
। আপনি যদি Status
এর ভিত্তিতে কোয়েরি করতে চান, তবে LSI তৈরি করতে পারেন যেখানে Partition Key হল UserID
এবং Sort Key হল Status
(অথবা অন্য কোনও অ্যাট্রিবিউট, যা আপনাকে প্রয়োজন)।
বৈশিষ্ট্য | GSI | LSI |
---|---|---|
Partition Key | Partition Key আলাদা হতে পারে | Partition Key অপরিবর্তিত থাকে |
Sort Key | Sort Key আলাদা হতে পারে | Sort Key পরিবর্তিত হয় (Primary Key এর Sort Key) |
Capacity Mode | Provisioned এবং On-Demand উভয়ই সাপোর্ট করে | শুধুমাত্র Provisioned Mode সাপোর্ট করে |
Consistency | Eventually Consistent বা Strongly Consistent Read সাপোর্ট করে | শুধুমাত্র Strongly Consistent Read সাপোর্ট করে |
সীমাবদ্ধতা | GSI ব্যবহার করার জন্য কোনও সীমাবদ্ধতা নেই | প্রতি টেবিলের জন্য সর্বাধিক 5টি LSI হতে পারে |
Querying | নতুন Partition Key এবং Sort Key দিয়ে কোয়েরি করা যায় | শুধুমাত্র একই Partition Key এর মধ্যে Sort Key পরিবর্তন করা যায় |
এভাবে, GSI এবং LSI এর পার্থক্য এবং তাদের উপযোগিতা বুঝে আপনি আপনার অ্যাপ্লিকেশনের জন্য সঠিক ইন্ডেক্স ব্যবহার করতে পারবেন।
common.read_more